home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1994 November / Cd Ware (Nro. 2) - Epimundo.iso / DOS / PG / DCPU.ZIP / DCPU.BAS < prev    next >
Encoding:
BASIC Source File  |  1994-06-17  |  1.9 KB  |  85 lines

  1. '=======================================================================
  2. 'UPDATED 06/15/94
  3. ' Copyright (C) Sidney J. Kelly, All rights Reserved
  4. '=======================================================================
  5. DEFINT A-Z
  6.  
  7.  ' Returns coprocessor type
  8.  ' Does rely on Equipment word as does QBX, because of clone errors.
  9. DECLARE FUNCTION CHECK87% ()
  10.  
  11. ' Returns detailed CPU type information
  12. DECLARE FUNCTION CHIPTYPE% ()
  13.  
  14.  
  15. PRINT "Processors:    ";
  16.  
  17. TCPU% = CHIPTYPE%   ' determine CPU type
  18. TNDP% = CHECK87%    ' determine math chip
  19. SELECT CASE TCPU%
  20.     CASE 386            ' only works for newer chips
  21.         PRINT "80386DX";
  22.     CASE 376            ' only works for newer chips
  23.         PRINT "80386SX";  '(likely an AMD)
  24.     CASE -386
  25.         PRINT "80386 (Prot. Mode)";
  26.     CASE 486, -486
  27.         PRINT "80486";
  28.         IF TNDP% <= 0 THEN
  29.             PRINT "SX";
  30.         ELSE
  31.             PRINT "DX";
  32.         END IF
  33.         IF TCPU% < 0 THEN PRINT " (Prot. Mode)";
  34.     CASE 586, -586
  35.         PRINT "PENTIUM":
  36.         IF TCPU% < 0 THEN PRINT " (Prot. Mode)";
  37.     CASE 480, -480
  38.         PRINT "IBM 486SLC";
  39.         IF TCPU% < 0 THEN PRINT " (Prot. Mode)";
  40.     CASE 479
  41.         PRINT "486DLC";
  42.     CASE 286
  43.         PRINT "80286";
  44.     CASE 88             'PC PC/XT
  45.         PRINT "8088";
  46.     CASE 86             'Systempro  AT&T/Olivetti
  47.         PRINT "8086";
  48.     CASE 186
  49.         PRINT "80186";
  50.     CASE 32
  51.         PRINT "NEC V20";
  52.     CASE 30
  53.         PRINT "NEC V30";
  54.     CASE 188       ' very unlikely to find this
  55.         PRINT "80188";
  56.     CASE ELSE
  57.         PRINT "Unknown";
  58. END SELECT
  59.  
  60. PRINT " with";
  61. SELECT CASE TNDP%
  62.     CASE 0
  63.         PRINT "out a math";
  64.     CASE -87
  65.         PRINT " a software emulator";
  66.     CASE 87
  67.         PRINT " an 8087";
  68.     CASE 287
  69.         PRINT " an 80287";
  70.     CASE 1287
  71.         PRINT " an 80C287A";  '387 for 287 slot
  72.     CASE ELSE    '387 chip of some kind
  73.         SELECT CASE TCPU%
  74.             CASE 486, -486
  75.                 PRINT " an 80487";
  76.             CASE 586, -586
  77.                 PRINT " an 80587";
  78.             CASE ELSE
  79.                 PRINT " an 80387";
  80.         END SELECT
  81.     END SELECT
  82. PRINT " coprocessor."
  83. END
  84.  
  85.